package com.mzj.saas.mservice.community.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 退租管理
 */
public class HouseSurrenderVO {

    private Long id;
    private String houseId;// 房屋id
    private Integer status;// 退租状态：0无 1已申请 2已验房 3未结清 4已结清 6已完成
    private Integer houseStatus;// 房屋状态：1正常 2损坏
    private String damageReason;// 损坏原因
    private BigDecimal unpaidAmount;// 未缴费账单金额
    private Integer otherAmountType;// 其它

    private BigDecimal totalUnpaidAmount;// 全部未缴费账单金额
    private BigDecimal rentAmount;// 租金
    private BigDecimal cashPledgeAmount;// 押金
    private BigDecimal otherAmount;// 其它
    private BigDecimal settlementAmount;// 结算金额
    private Long billId;// 账单id
    private Integer surreenderType;// 退租原因;1正常退租、2违约行为、3违规行为、4不符合资质、6其它
    private String remark;
    private String operatorId;// 操作人id

    private Double balanceFee;// 账户可用余额
    private Double cashPledge;// 账户押金

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operatorTime;// 操作时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;// 完成时间

    private String matchUserId;// 承租人id
    private String matchUserName;// 承租人姓名
    private String matchUserPhone;// 承租人电话
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date startTime;// 开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endTime;// 结束时间
    private Integer contractStatus;// 合同状态 1.正常 2已过期
    private Integer cost;// 费用金额
    private BigDecimal costConvert;// 分转换为元

    public HouseSurrenderVO() {
    }

    public BigDecimal getTotalUnpaidAmount() {
        return totalUnpaidAmount;
    }

    public void setTotalUnpaidAmount(BigDecimal totalUnpaidAmount) {
        this.totalUnpaidAmount = totalUnpaidAmount;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getHouseId() {
        return houseId;
    }

    public void setHouseId(String houseId) {
        this.houseId = houseId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getHouseStatus() {
        return houseStatus;
    }

    public void setHouseStatus(Integer houseStatus) {
        this.houseStatus = houseStatus;
    }

    public String getDamageReason() {
        return damageReason;
    }

    public void setDamageReason(String damageReason) {
        this.damageReason = damageReason;
    }

    public BigDecimal getUnpaidAmount() {
        return unpaidAmount;
    }

    public void setUnpaidAmount(BigDecimal unpaidAmount) {
        this.unpaidAmount = unpaidAmount;
    }

    public BigDecimal getRentAmount() {
        return rentAmount;
    }

    public void setRentAmount(BigDecimal rentAmount) {
        this.rentAmount = rentAmount;
    }

    public BigDecimal getCashPledgeAmount() {
        return cashPledgeAmount;
    }

    public void setCashPledgeAmount(BigDecimal cashPledgeAmount) {
        this.cashPledgeAmount = cashPledgeAmount;
    }

    public BigDecimal getOtherAmount() {
        return otherAmount;
    }

    public void setOtherAmount(BigDecimal otherAmount) {
        this.otherAmount = otherAmount;
    }

    public BigDecimal getSettlementAmount() {
        return settlementAmount;
    }

    public void setSettlementAmount(BigDecimal settlementAmount) {
        this.settlementAmount = settlementAmount;
    }

    public Long getBillId() {
        return billId;
    }

    public void setBillId(Long billId) {
        this.billId = billId;
    }


    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public Date getOperatorTime() {
        return operatorTime;
    }

    public void setOperatorTime(Date operatorTime) {
        this.operatorTime = operatorTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getMatchUserId() {
        return matchUserId;
    }

    public void setMatchUserId(String matchUserId) {
        this.matchUserId = matchUserId;
    }

    public String getMatchUserName() {
        return matchUserName;
    }

    public void setMatchUserName(String matchUserName) {
        this.matchUserName = matchUserName;
    }

    public String getMatchUserPhone() {
        return matchUserPhone;
    }

    public void setMatchUserPhone(String matchUserPhone) {
        this.matchUserPhone = matchUserPhone;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(Integer contractStatus) {
        this.contractStatus = contractStatus;
    }

    public Integer getCost() {
        return cost;
    }

    public void setCost(Integer cost) {
        this.cost = cost;
    }

    public BigDecimal getCostConvert() {
        return costConvert;
    }

    public void setCostConvert(BigDecimal costConvert) {
        this.costConvert = costConvert;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getSurreenderType() {
        return surreenderType;
    }

    public void setSurreenderType(Integer surreenderType) {
        this.surreenderType = surreenderType;
    }

    public Integer getOtherAmountType() {
        return otherAmountType;
    }

    public void setOtherAmountType(Integer otherAmountType) {
        this.otherAmountType = otherAmountType;
    }

    public Double getBalanceFee() {
        return balanceFee;
    }

    public void setBalanceFee(Double balanceFee) {
        this.balanceFee = balanceFee;
    }

    public Double getCashPledge() {
        return cashPledge;
    }

    public void setCashPledge(Double cashPledge) {
        this.cashPledge = cashPledge;
    }
}
